# 使用最新的 slim-bookworm 版本
FROM docker.io/rust:1.84.1-slim-bookworm

# 合并所有环境变量设置
ENV RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup \
    RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup \
    DEBIAN_FRONTEND=noninteractive \
    PYTHONUNBUFFERED=1

# 设置工作目录
WORKDIR /app

# 复制配置文件到正确位置
COPY sources.list /etc/apt/
COPY config ~/.cargo/
COPY Tool/requirements.txt /app/Tool/

# 合并所有 RUN 命令
RUN rustup default stable && \
    apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y \
        python3 \
        python3-pip && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* && \
    # 直接安装 Python 包，不使用缓存挂载
    pip3 install --no-cache-dir --break-system-packages -r Tool/requirements.txt && \
    # 创建非 root 用户
    useradd -m -s /bin/bash appuser && \
    chown -R appuser:appuser /app

# 复制应用代码（放在依赖安装后）
COPY . /app/

# 切换到非 root 用户
USER appuser

CMD ["bash"]